Міністерство освіти і науки України
Національний університет
«ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Лабораторна робота №5
Загальне ознайомлення iз системними викликами операцiйної системи Linux
Мета роботи: познайомитися iз повним набором системних викликiв операцiйної системи Linux та призначенням i синопсисом найвживанiших системних викликiв.
Завдання:
Використовуючи програму Telnet i ввiвши login i password, пiд'єднатися до Linux-сервера.
Використовуючи команду man syscalls, познайомитися iз повним списком системних викликiв операцiйної системи Linux.
Використовуючи команду man, провести аналiз призначень системних викликiв, розбиваючи їх на наступнi групи:
ввiд-вивiд файлiв;
робота з каталогами;
керування пам'яттю;
робота з процесами (створення, завершення, тощо);
диспетчерування процесiв;
засоби мiжпроцесних комунiкацiй;
робота з мережею;
засоби роботи iз сигналами;
служба часу;
засоби видачi iнформацiї про операцiйну систему;
забезпечення роботи iз модулями.
Використовуючи команду man, познайомитися iз синопсисом, призначення, а також i вiповiдними структурами (struct) наступних системних викликiв:
open(2), create(2), read(2), write(2), close(2),
umask(2),
stat(2), fstat(2), lstat(2),
lseek(2),
readdir(2), getdents(2),
fork(2), execve(2), wait(2), exit(2), kill(2).
Використовуючи команду man, познайомитися iз призначення наступних системних викликiв:
access(2), chmod(2), fchmod(2), chown(2),
setuid(2), getuid(2),
link(2), unlink(2), symlink(2),
mknode(2), socket(2),
fcntl(2),
rename(2),
chdir(2), fchdir(2),
mkdir(2), rmdir(2),
ioctl(2),
pause(2),
nice(2),
uname(2),
getpid(2), setpid(2),
geteuid(2), setreuid(2),
alarm(2), time(2), stime(2),
gettimeofday(2), settimeofday(2),
times(2),
create_module(2), init_module(2),
delete_module(2), get_kernel_syms(2)
Результат виконання завдання:
Системні виклики операційної системи Linux
syscalls - перелік усіх системних викликів
Системний виклик - це основний інтерфейс між додатком і ядром Лінукса. Перелік системних викликів Linux складався з 1100 функцій, визначених в /usr/src/linux/include/asm-*/unistd.h.
_llseek(2), _newselect(2), _sysctl(2), accept(2), access(2), acct(2), adjtimex(2), afs_syscall, alarm(2),
bdflush(2), bind(2), break, brk(2), cacheflush(2), capget(2), capset(2), chdir(2), chmod(2), chown(2), chown32, chroot(2), clone(2), close(2), connect(2), creat(2), create_module(2), delete_module(2), dup(2),
dup2(2), execve(2), exit(2), fchdir(2), fchmod(2), fchown(2), fchown32, fcntl(2), fcntl64, fdatasync(2), flock(2), fork(2), fstat(2), fstat64, fstatfs(2),fsync(2), ftime, ftruncate(2), ftruncate64, get_ker-nel_syms(2), getcwd(2), getdents(2), getdents64, gete-gid(2), getegid32, geteuid(2), geteuid32, getgid(2), get-
gid32, getgroups(2), getgroups32, getitimer(2), getpage-size(2), getpeername(2), getpmsg, getpgid(2), getpgrp(2), getpid(2), getppid(2), getpriority(2), getresgid(2),getresgid32, getresuid(2), getresuid32, getrlimit(2), getrusage(2), getsid(2), getsockname(2), getsockopt(2), gettid, gettimeofday(2), getuid(2), getuid32, gtty, idle,init_module(2), ioctl(2), ioperm(2), iopl(2), ipc(2), kill(2), lchown(2), lchown32, link(2), listen(2), lock,lseek(2), lstat(2), lstat64, madvise(2), mincore(2), mkdir(2), mknod(2), mlock(2), mlockall(2), mmap(2), mod- ify_ldt(2), mount(2), mprotect(2), mpx, mremap(2), msync(2), munlock(2), munlockall(2), munmap(2), nanosleep(2), nfsservctl(2), nice(2), oldfstat, oldlstat,
oldolduname, oldstat, oldumount, olduname, open(2), pause(2), personality(2), phys, pipe(2), pivot_root(2), poll(2), prctl(2), pread(2), prof, profil, ptrace(2), putpmsg, pwrite(2), q...